Home Posts About

在 Emacs 中使用 diary-lib 包写日记

Table of Contents

Emacs 写日记的功能实现有好几个插件,如 org 自带的 diary-lib,第三方实现的有 org-journal 和 diary-manage,或者也可以使用 org-roam 的 daily note 记录日记。

1. 晨间日记

关于记日方的方法,有一本书叫晨间日记的奇迹。为什么叫晨间日记,是因为作者建议把记日方记的时间放到早晨进行,他认为当天晚上记日记会将当天不好的情绪记录下来,在第二天早晨进行的话就会反思自己的行为而不是情绪的宣泄。

此外书中还提出了将连续三年的日记放到一些,这样就可以看到在前年、去年及现在发生的事情,我认为这个点不错,对于周年的事务是个不错的提示。这本书不好的地方是内容写的太碎,不得不佩服日本人,明明几句话能说清楚的事可以用一本书来说明。

回到 Emacs 上,使用 org-journal、org-roam daily、diary-manage 进行日记记录,文件是以每一天保存的,这个意味当你想回头看自己的日记时你需要打开每个文件,这个体验实在是差。org-journal 可以设置以 weekly、monthly、yearly 进行日记的记录。

2. 探索 diary-lib

首先调用相关的命令看看能实现什么样的功能,其次看看相关的 variables 设置,最后去 Google 上搜索看看有没有人分享相关的使用体验。 找到两个相关的:

The calendar (‘M-x calendar’) can show you diary entries for a particular day when you press ‘d’ (for more on calendar stuff, see CalendarMode). You might also be interested in AppointmentMode to get reminders for events a few minutes before they happen.

上面的简介说可以将 diary 与 calendar 及 appointment 结合起来使用。这样的话需要首先打开 calendar,没有默认的按键,先给其绑定一个 SPC c 。使用 diary-lib 需要设置 diary-file 的文件路径。打开 calendar 界面显示如下:

20221120000608Calendar 界面.png

Figure 1: Calendar 界面

打开 Calendar 之后使用 id 来插入当天的日记内容。

关于日记内容的格式,如果只是简单的一句话,可以直接跟在日期后面,如果内容比较多,可以按行后保持统一的缩进格式即可。

所有的日志文件都保存在一个文件当中,使用 Calendar 查看的时候可以根据需要显示几天的内容,也可以打开该文件查看所有的日记内容。这个体验比 org-journal 或者 org-roam daily 笔记好用。

3. More

需要思考下怎么进行 filter 可以达到晨间日记中提出的同时查看过去两年当天的笔记内容。


Created with Emacs 29.1.50 (Org mode 9.6.8) on MacOS Updated: 2023-04-19 Wed 14:15